#ifndef SMART_EVENTPOOL_H
#define SMART_EVETNPOOL_H

#include <sys/epoll.h>

//typedef union epoll_data {
//               void    *ptr;
//               int      fd;
//               uint32_t u32;
//               uint64_t u64;
//           } epoll_data_t;
//
//           struct epoll_event {
//               uint32_t     events;    /* Epoll events */
//               epoll_data_t data;      /* User data variable */
//           };
//
class EventPool {
#define POOL_MAX_FD
public:
		enum {
				READ_EVENT;
				WRITE_EVENT;
		} event;

public: 
		/* @constructure
		 */
		EventPool()
		~EventPool()

		/*
		 * return -1 for some error 
		 */
		int run();

		int add_fd(int fd);
		int del_fd(int fd);

		int add_event_to_fd(int fd, event ev);
		int del_evnet_from_fd(int fd, event ev):

private:
		struct epoll_event events[POOL_MAX_FD];
		

}
#endif 
